System library會使用system call向kernel要求提供服務
System library運作在user mode中,所以執行時的權限有限制
例如: 計算string長度的功能,可以透過簡單的memory access與加法達成,可以在system library的內部處理完成
例如: 對一個檔案寫入內容的功能,不被允許在user mode當中執行,所以system library需要透過system call才能完成檔案寫入。
System library提供API讓System Utilities和Application Software使用system library已包含的功能
System library提供的功能有一些是可以在system library內部自行處理完成的,但有一些功能則需要kernel的協助才能完成
C standard library: 符合C語言標準的C library,提供C語言標準中規定需要具備的heade與function,例如: stdio.h, stdib.h, …
因應不同的需求,有不同的組織開發出多款C standard library,例如GNU C library (glibc, Linux的核心C library)、Newlib (Cygwin採用)、uClibc(多為嵌入式系統採用)
C standard library通常可以支援多種CPU與多種OS的平台,並且容易porting到新的平台,使software developers可以容易寫出可移植的(portable) source code。
System library可以減少software developer跨平台開發所需的porting effort
System library可以在不同的kernel上保持相同的interface,讓software developer開發的時間可以縮短。
Software developer可以快速的在新平台上找到使用的方法線上佔了多少
例如: 呼叫system library 可以System library可以減少software developer跨平台開發所需的porting effort